var DEBUG = true;
var config = {
    Bucket: 'after-sale-1256187897',
    Region: 'ap-guangzhou',
};

/**
 * 上传文件到Cos
 * @author ww
 * @param {json} param 
 */
function uploadToCos(param) {
    //获取文件
    var file = param.file;
    var fileName = param.curTiem + file.name;
    var cos = new COS({
        getAuthorization: function (options, callback) {
            //获取签名认证
            $.get(FILUPLOAD_URL + '/COSSignature', {
                key: encodeURIComponent(fileName)
            }, function (authorization) {
                callback(authorization);
            }, 'text');
        }
    });
    cos.putObject({
        Bucket: config.Bucket,
        Region: config.Region,
        Key: fileName,
        Body: file,
    }, param.success);
}

/**
 * 上传视频到vod
 * @author ww
 * @param {JSON} param
 */
function uploadToVod(param){
    qcVideo.ugcUploader.start({
        videoFile: param.file,//视频，类型为 File
        allowAudio: 1,
        getSignature: function(callback){
            $.post(FILUPLOAD_URL + '/VODSignature',{},function(signature){
                callback(signature); 
            },'text');
        },
        error: function(result){//上传失败时的回调函数
            console.log('上传失败的原因：' + result.msg);
        },
        finish: param.finish
    });
}
/**
 * 根据文件名，获取服务器对象存储的文件路径
 * @author ww
 * @param {String} file 文件名
 * @returns 文件路径
 */
function getCosFile(file){
    console.log(file);
    if(file){
        return COS_FILE_URL + encodeURI(file);
    }
}
/**
 * 获取url中参数的方法
 * @author ww
 * @param {String} name 参数名
 * @return 参数值
 */
function getUrlParam(name) {
    var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); //构造一个含有目标参数的正则表达式对象
    var r = window.location.search.substr(1).match(reg); //匹配目标参数
    if (r != null) return unescape(r[2]);
    return null; //返回参数值
};

/**
 * pdf文件名
 * @param {String} fileName 
 */
function goShowPDF(fileName){
    //跳转预览pdf的url
    var PDF_PATH_URL = "pages/showPdf.html?pdfFile=https://after-sale-1256187897.cos.ap-guangzhou.myqcloud.com/PDF/";
    if(fileName){
        window.location.href = PDF_PATH_URL + encodeURI(fileName);
    }
}

/**
 * 格式化日期
 * @param {String} fmt 日期格式(默认:yyyy-MM-dd)，eg:yyyy-MM-dd
 */
Date.prototype.format = function(fmt = "yyyy-MM-dd") { 
    var o = { 
        "M+" : this.getMonth()+1,                 //月份 
        "d+" : this.getDate(),                    //日 
        "h+" : this.getHours(),                   //小时 
        "m+" : this.getMinutes(),                 //分 
        "s+" : this.getSeconds(),                 //秒 
        "q+" : Math.floor((this.getMonth()+3)/3), //季度 
        "S"  : this.getMilliseconds()             //毫秒 
    }; 
    if(/(y+)/.test(fmt)) {
            fmt=fmt.replace(RegExp.$1, (this.getFullYear()+"").substr(4 - RegExp.$1.length)); 
    }
    for(var k in o) {
        if(new RegExp("("+ k +")").test(fmt)){
            fmt = fmt.replace(RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length)));
        }
    }
    return fmt; 
}

/**
 * 编辑表格
 * @param {DOM} elem 表格Id, #test
 * @param {Function} callback 保存编辑方法
 */
function editTable(elem ,param){
    $("tbody", elem).on("click",".edit-btn",function(){
        var tds=$(this).parents("tr").children();
        $.each(tds, function(i,val){
            var jqob=$(val);
            if(jqob.has('button').length ){return true;}//跳过第1项 序号,按钮
            var txt=jqob.text();
            var type = param.editIndex;
            var num = 0;
            $.each(type, function(index, val){
                if(val === i){
                    num = 1;
                    return false;
                }
            });
            let put;
            if(num === 0){
                put=$("<input type='text' style='width: 100%;'>");
            }else{
                put = $("<input type='number' style='width: 100%;'>");
            }
            put.val(txt);
            jqob.html(put);
        });
        $(this).html("保存");
        $(this).toggleClass("edit-btn");
        $(this).toggleClass("save-btn");
    });

    $("tbody", elem).on("click",".save-btn",function(){
        var table = $(elem).DataTable();

        var that = this;
        var row=table.row($(this).parents("tr"));
        var oldData=row.data();
        
        var tds=$(this).parents("tr").children();
        $.each(tds, function(i,val){
            var jqob=$(val);
            //把input变为字符串
            if(!jqob.has('button').length){
                var txt=jqob.children("input").val();
                jqob.html(txt);
                table.cell(jqob).data(txt);//修改DataTables对象的数据
            }
        });
        var data=row.data();
        let option = {
            url: MANAGE_URL,
            data:{ data: JSON.stringify(data)},
            type:"post",
            // async:false,
            success:function(res, textStatus){
                if(res.msg === 'success'){
                    alert('修改成功!');
                    $(that).html("编辑");
                    $(that).toggleClass("edit-btn");
                    $(that).toggleClass("save-btn");
                    //如果存在回调
                    param.callback();
                }else{
                    alert('修改失败，请稍后重试！');
                    option.errorBack();
                }
             },
             error:function(XMLHttpRequest, textStatus, errorThrown){
                option.errorBack();
             },
             errorBack:function(){
                $.each(tds, function(i,val){
                    var jqob=$(val);
                    if(jqob.has('button').length ){return true;}//跳过第1项 序号,按钮
                    var txt=jqob.text();
                    var put=$("<input type='text' style='width: 100%;'>");
                    put.val(txt);
                    jqob.html(put);
                });
             }
        }
        $.extend(option, param.ajax);
        $.ajax(option);
    });
}

function test(){
    console.log('tets');
}